import { RMIProxyObject } from "../../Engine/RMI/RMIProxyObject";
import { IFriendPrx } from "./IFriendPrx";
import { AMI_IFriend_addToBlackList } from "./AMI_IFriend_addToBlackList";
import { SerializeStream } from "../../Framework/Serialize/SerializeStream";
import { Outgoing } from "../../Engine/RMI/Outgoing";
import { AMI_IFriend_apply } from "./AMI_IFriend_apply";
import { AMI_IFriend_bindPlayer } from "./AMI_IFriend_bindPlayer";
import { AMI_IFriend_bless } from "./AMI_IFriend_bless";
import { SFriendBlessKey } from "../Public/SFriendBlessKey";
import { AMI_IFriend_changeFriendType } from "./AMI_IFriend_changeFriendType";
import { AMI_IFriend_changeRemark } from "./AMI_IFriend_changeRemark";
import { AMI_IFriend_getBlessBottleExp } from "./AMI_IFriend_getBlessBottleExp";
import { AMI_IFriend_getFriendBindInfo } from "./AMI_IFriend_getFriendBindInfo";
import { AMI_IFriend_getFriendCallBackList } from "./AMI_IFriend_getFriendCallBackList";
import { AMI_IFriend_getFriendList } from "./AMI_IFriend_getFriendList";
import { AMI_IFriend_getMyCallBackList } from "./AMI_IFriend_getMyCallBackList";
import { AMI_IFriend_getOneKeyMakeFriendsInfo } from "./AMI_IFriend_getOneKeyMakeFriendsInfo";
import { AMI_IFriend_getTreasureBowlRewards } from "./AMI_IFriend_getTreasureBowlRewards";
import { AMI_IFriend_moveIntoList } from "./AMI_IFriend_moveIntoList";
import { AMI_IFriend_oneKeyMakeFriends } from "./AMI_IFriend_oneKeyMakeFriends";
import { SeqStringHelper } from "../Public/SeqStringHelper";
import { AMI_IFriend_openMyTreasureBowl } from "./AMI_IFriend_openMyTreasureBowl";
import { AMI_IFriend_remove } from "./AMI_IFriend_remove";
import { AMI_IFriend_removeAll } from "./AMI_IFriend_removeAll";
import { SeqLongHelper } from "../Public/SeqLongHelper";
import { AMI_IFriend_reply } from "./AMI_IFriend_reply";
import { AMI_IFriend_sendAllBless } from "./AMI_IFriend_sendAllBless";
import { DictIntIntHelper } from "../Public/DictIntIntHelper";
import { AMI_IFriend_sendTreasureBowlBless } from "./AMI_IFriend_sendTreasureBowlBless";
import { AMI_IFriend_treasureBowlCall } from "./AMI_IFriend_treasureBowlCall";
type int = number;
//class IFriendPrxHelper
    
    export  class IFriendPrxHelper extends RMIProxyObject implements IFriendPrx
    {
        constructor()
        {
            
            super();name = "IFriend";
            return;
        }

        public addToBlackList_async(arg1: AMI_IFriend_addToBlackList, arg2: int): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("addToBlackList");
            var loc3;
            (loc3 = new SerializeStream()).writeInt(arg2);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public apply_async(arg1: AMI_IFriend_apply, arg2: string): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("apply");
            var loc3;
            (loc3 = new SerializeStream()).writeString(arg2);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public bindPlayer_async(arg1: AMI_IFriend_bindPlayer, arg2: int): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("bindPlayer");
            var loc3;
            (loc3 = new SerializeStream()).writeInt(arg2);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public bless_async(arg1: AMI_IFriend_bless, arg2: int, arg3: int, arg4: int, arg5: SFriendBlessKey): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("bless");
            var loc3;
            (loc3 = new SerializeStream()).writeInt(arg2);
            loc3.writeInt(arg3);
            loc3.writeInt(arg4);
            arg5.__write(loc3);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public changeFriendType_async(arg1: AMI_IFriend_changeFriendType, arg2: number, arg3: int, arg4: int): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("changeFriendType");
            var loc3;
            (loc3 = new SerializeStream()).writeLong(arg2);
            loc3.writeInt(arg3);
            loc3.writeInt(arg4);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public changeRemark_async(arg1: AMI_IFriend_changeRemark, arg2: number, arg3: int, arg4: string): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("changeRemark");
            var loc3;
            (loc3 = new SerializeStream()).writeLong(arg2);
            loc3.writeInt(arg3);
            loc3.writeString(arg4);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public getBlessBottleExp_async(arg1: AMI_IFriend_getBlessBottleExp): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("getBlessBottleExp");
            var loc3=new SerializeStream();
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public getFriendBindInfo_async(arg1: AMI_IFriend_getFriendBindInfo): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("getFriendBindInfo");
            var loc3=new SerializeStream();
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public getFriendCallBackList_async(arg1: AMI_IFriend_getFriendCallBackList): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("getFriendCallBackList");
            var loc3=new SerializeStream();
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public getFriendList_async(arg1: AMI_IFriend_getFriendList, arg2: int): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("getFriendList");
            var loc3;
            (loc3 = new SerializeStream()).writeInt(arg2);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public getMyCallBackList_async(arg1: AMI_IFriend_getMyCallBackList): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("getMyCallBackList");
            var loc3=new SerializeStream();
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public getOneKeyMakeFriendsInfo_async(arg1: AMI_IFriend_getOneKeyMakeFriendsInfo): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("getOneKeyMakeFriendsInfo");
            var loc3=new SerializeStream();
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public getTreasureBowlRewards_async(arg1: AMI_IFriend_getTreasureBowlRewards): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("getTreasureBowlRewards");
            var loc3=new SerializeStream();
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public moveIntoList_async(arg1: AMI_IFriend_moveIntoList, arg2: number, arg3: int, arg4: int): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("moveIntoList");
            var loc3;
            (loc3 = new SerializeStream()).writeLong(arg2);
            loc3.writeInt(arg3);
            loc3.writeInt(arg4);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public oneKeyMakeFriends_async(arg1: AMI_IFriend_oneKeyMakeFriends, arg2: Array<any>): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("oneKeyMakeFriends");
            var loc3=new SerializeStream();
            SeqStringHelper.write(loc3, arg2);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public openMyTreasureBowl_async(arg1: AMI_IFriend_openMyTreasureBowl): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("openMyTreasureBowl");
            var loc3=new SerializeStream();
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public remove_async(arg1: AMI_IFriend_remove, arg2: number, arg3: int): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("remove");
            var loc3;
            (loc3 = new SerializeStream()).writeLong(arg2);
            loc3.writeInt(arg3);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public removeAll_async(arg1: AMI_IFriend_removeAll, arg2: Array<any>, arg3: int): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("removeAll");
            var loc3=new SerializeStream();
            SeqLongHelper.write(loc3, arg2);
            loc3.writeInt(arg3);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public reply_async(arg1: AMI_IFriend_reply, arg2: int, arg3: int, arg4: int): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("reply");
            var loc3;
            (loc3 = new SerializeStream()).writeInt(arg2);
            loc3.writeInt(arg3);
            loc3.writeInt(arg4);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public sendAllBless_async(arg1: AMI_IFriend_sendAllBless, arg2: Map<any, any> /* flash.utils.Dictionary */): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("sendAllBless");
            var loc3=new SerializeStream();
            DictIntIntHelper.write(loc3, arg2);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public sendTreasureBowlBless_async(arg1: AMI_IFriend_sendTreasureBowlBless, arg2: int): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("sendTreasureBowlBless");
            var loc3;
            (loc3 = new SerializeStream()).writeInt(arg2);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public treasureBowlCall_async(arg1: AMI_IFriend_treasureBowlCall): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("treasureBowlCall");
            var loc3=new SerializeStream();
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public static /* const */NAME: string="Message.Game.IFriend";
    }
